home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #2 / Amiga Plus CD - 1995 - No. 2.iso / internet / faq / englisch / osf-computingenvironment < prev    next >
Encoding:
Text File  |  1995-04-11  |  48.4 KB  |  1,026 lines

  1. Posted-By: auto-faq 3.1.1.2
  2. Archive-name: dce/faq
  3. Revision: 1.6 1995/02/18 03:00:59
  4. Posting-frequency: monthly
  5.  
  6.  
  7.  
  8.   This document answers some Frequently Asked Questions concerning
  9.   the OSF Distributed Computing Environment.
  10.   It is posted monthly to comp.soft-sys.dce, as well as
  11.   comp.answers, and news.answers.
  12.  
  13.   The document is maintained by Jon Mauney, jon@mauney.com
  14.   Suggestions, corrections, and updates are actively sought.
  15.  
  16.   This FAQ is available by anonymous ftp from
  17.         ftp.dstc.edu.au in /pub/DCE/FAQ
  18.   and is available for browsing at the OSF's WWW server.
  19.         http://www.osf.org:8001/dce/faq-mauney.html
  20.  
  21.   Last modified on Feb 14, 1995
  22.  
  23. Questions answered in this document:
  24.  
  25. Q 1: What is DCE?
  26. Q 2: What are the advantages of DCE?
  27. Q 3: Where can I get online information about DCE?
  28. Q 4: What books are published on DCE?
  29. Q 5: What about books on DME?
  30. Q 6: What platforms support DCE?
  31. Q 7: What products use DCE?
  32. Q 8: Several of the other questions concern "interfaces".
  33.       What is meant by an interface in DCE RPC?
  34. Q 9: Can a DCE client import multiple interfaces?
  35. Q 10: Can a DCE client connect to multiple servers?
  36. Q 11: Can a DCE server export multiple interfaces?
  37. Q 12: Can a process be both a server and a client?
  38. Q 13: How do I perform asynchronous RPC?
  39. Q 14: How can a server keep track of multiple clients?
  40. Q 15: How can a server detect that a client as exited or crashed?
  41. Q 16: Will Windows NT communicate with DCE?
  42. Q 17: How efficient is DCE RPC?
  43. Q 18: What is the practical limit on the size of a DCE cell?
  44. Q 19: How much memory and disk space is required for DCE services?
  45. Q 20: Where can I find an ACL manager to include in my application?
  46. Q 21: Is DCE an official standard?
  47. Q 22: The DCE threads uses draft 4 of the standard, but
  48.   Posix threads standard has moved beyond draft 4.
  49.   Will DCE change to the most recent standard?
  50. Q 23: Is anyone using DCE for real-life mission-critical systems?
  51. Q 24: Is it possible for a machine to be a member of more than one DCE cell?
  52. Q 25: Is it possible for a user in one cell to use secure services
  53.   in another cell? 
  54. Q 26: What is the relationship between DCE and CORBA?
  55. Q 27: Is DCE IDL the same as all the other IDL's in the world?
  56. Q 28: Can I move idl-compiled stubs from one platform to another and rebuild 
  57.       the object files locally?
  58. Q 29: Does DCE Security interoperate with other Kerberos systems?
  59. Q 30: Can I use DCE from C++?
  60. Q 31: Can I write an application that uses DCE and X11/Motif?
  61. Q 32: Where can I get more information about DCE and DCE-related products?
  62. Q 33: What are DCE RFCs, and how can I get them?
  63. Q 34: Where can I get the Public Domain version of DCE?
  64. Q 35: Is there a DCE Users Group I can join?
  65.  
  66. ==================================================================
  67.  
  68. Q 1: What is DCE?
  69.  
  70.    DCE is the Distributed Computing Environment, from the
  71.    Open Software Foundation. (It is called "the DCE" by sticklers
  72.    for grammatical consistency.)
  73.  
  74.    DCE consists of multiple components which have been integrated
  75.    to work closely together.  They are the Remote Procedure Call
  76.    (RPC), the Cell and Global Directory Services (CDS and GDS), the
  77.    Security Service, DCE Threads, Distributed Time Service
  78.    (DTS),and Distributed File Service (DFS).  The Threads, RPC, CDS,
  79.    Security, and DTS components are commonly referred to as the 
  80.    "secure core" and are the required components of any DCE installation.
  81.    DFS is an optional component.  DCE also includes administration tools
  82.    to manage these components.
  83.  
  84.    DCE is called "middleware" or "enabling technology."  It is not
  85.    intended to exist alone, but instead should be bundled into a
  86.    vendor's operating system offering, or integrated in by a third-party
  87.    vendor.  DCE's security and distributed filesystem, for example, 
  88.    can completely replace their current, non-network, analogs.
  89.    DCE is not an application in itself, but is used to build custom
  90.    applications or to support purchased applications.
  91.  
  92. ==================================================================
  93. Q 2: What are the advantages of DCE?
  94.  
  95.    First, DCE provides services that can be found in other computer
  96.    networking environments, but packages them so as to make them
  97.    much easier to use.  For example, the DCE Remote Procedure Call
  98.    (RPC) facility provides a way of communicating between software
  99.    modules running on different systems that is much simpler to code
  100.    than older methods, such as using socket calls.
  101.    
  102.    Second, DCE provides new capabilities that go beyond what was
  103.    available previously. The DCE Security Service provides a
  104.    reliable way of determining if a user of a distributed system
  105.    should be allowed to perform a certain action, for example.  This
  106.    is very useful for most distributed applications, yet the design
  107.    and implementation effort entailed in providing such a capability
  108.    would be prohibitive for an individual developer.
  109.    
  110.    Third, DCE integrates components in a manner that makes them more
  111.    valuable together than separately.  For example, the DCE RPC uses
  112.    threads in such a way that a developer can implement a
  113.    multi-threaded server without ever explicitly creating or
  114.    destroying a thread.
  115.    
  116.    Finally, DCE supports both portability and interoperability by
  117.    providing the developer with capabilities that hide differences
  118.    among the various hardware, software and networking elements an
  119.    application will deal with in a large network.  For example, the
  120.    RPC automatically converts data from the format used by one
  121.    computer to that used by another.
  122.    
  123.    Portability is a measure of the ease with which a piece of
  124.    software that executes on one type of computer can be made to
  125.    execute on a different type of computer. Interoperability is a
  126.    measure of the ability of computers of different types to
  127.    participate in the same distributed system.
  128.  
  129. ==================================================================
  130. Q 3: Where can I get online information about DCE
  131.  
  132.   First of all, the official documentation for DCE is not available 
  133.   for anonymous ftp. But there are several sites providing
  134.   lots of other information.  Here are some of the most useful:
  135.  
  136.   The Open Software Foundation maintains a WWW server with information
  137.   about all the OSF products, including DCE. 
  138.         http://www.osf.org:8001/dce/index.html
  139.   takes you directly to the DCE index.
  140.   Highlights of the OSF's web server include a complete list of DCE
  141.   products, the DCE Request for Comments documents (RFCs), and a 
  142.   hypertext version of the Frequently Asked Questions list.
  143.  
  144.   Project Pilgrim at the University of Massachussetts has a DCE homepage at
  145.         http://info.pilgrim.umass.edu/pub/osf_dce/osf.html
  146.   Their server provides a complete set of RFCS, searchable by http
  147.   and also by gopher, at
  148.         gopher://info.pilgrim.umass.edu/77/lib/.wais-sources/osf-dce-rfc.txt
  149.   and a directory of contributed software, currently consisting of
  150.   performance measurement utilities from Pilgrim, and book examples from
  151.   O'Reilly&Associates.
  152.  
  153.   The Center for Information Technology Integration at the
  154.   University of Michigan has several pieces of DCE information
  155.   on their servers. The big attraction here is the set of
  156.   CITI Technical Reports related to DCE, in gopher-searchable format.
  157.   You can get to the tech-reports from the CITI homepage,
  158.         http://www.citi.umich.edu
  159.   or go directly to the gopher directory:
  160.         gopher://citi.umich.edu/00/public/techreports
  161.   CITI also offers the MVS DCE Users Group homepage
  162.   (which is still under development). Included here
  163.   are a set of IBM whitepapers on the subject, in postscript form.
  164.         http://dcewww.citi.umich.edu:8080/mvsdce
  165.  
  166.   Transarc has some hints and examples available for anonymous ftp.
  167.         ftp://grand.central.org:/pub/devkit/doc
  168.   These are informal, practical discussions of how to handle real-world
  169.   problems such as changing the IP address of the CDS server,
  170.   implementing peer-to-peer RPC, handling key management, etc.
  171.  
  172.   Many of the local DCE users groups maintain WWW pages:
  173.     Massachusetts DCE Users Group
  174.         http://dceusers.bc.edu/dceusers/dceusers.html
  175.     New York DCE Users Group
  176.         http://www.osf.org:8001/dce/user-groups/ny/
  177.     Arizona DCE Users Group
  178.         http://www.adug.org/
  179.  
  180. ==================================================================
  181. Q 4: What books are published on DCE?
  182.  
  183.   Documentation on DCE should be suppiled with vendor products.  The
  184.   OSF sells complete sets of documentation. The DCE set consists of 
  185.   14 volumes and costs $525.  Documentation for version 1.1 is 
  186.   available.
  187.   The three volumes of specifications (AES) can be purchased separately
  188.   for $100 (plus shipping).
  189.  
  190.     Order documentation in the US by contacting: 
  191.     OSF Direct Channels
  192.     Phone: 617-621-7300
  193.  
  194.     Order documentation in Europe by contacting: 
  195.     Christine Mambourg, Brussels OSF.
  196.     Phone: +32 2 772 8888, fax: +32 2 772 9228 
  197.     Email: <mambourg@osf.org>
  198.  
  199.     Order documentation in the Pacific Region by contacting:
  200.     Haruyo Nogami, Tokyo OSF.
  201.     Phone +813-3479-4740; fax: +813-3479-4760
  202.     Email: <nogami@osf.org>
  203.  
  204.  
  205.   The OSF documentation is also published by Prentice-Hall.  These
  206.   books contain about the same material as the OSF manuals, but are edited
  207.   to improve the presentation.  The Prentice-Hall books generally 
  208.   reflect DCE 1.0.1, except for the Administration Guide which reflects
  209.   1.0.2.  The next Prentice Hall edition is slated to reflect DCE 1.1.
  210.  
  211.         Introduction to DCE                     ISBN 0-13-490624-1
  212.         DCE Administration Reference            ISBN 0-13-643818-0
  213.         DCE User's Guide and Reference          ISBN 0-13-643842-3
  214.         DCE Application Development Guide       ISBN 0-13-643826-1
  215.         DCE Application Development Reference   ISBN 0-13-643834-2
  216.         DCE Administration Guide
  217.           Vol. 1, Introduction                  ISBN 0-13-176546-9
  218.           Vol. 2, Core Components               ISBN 0-13-176553-1
  219.           Vol. 3, Extended Services             ISBN 0-13-176561-2
  220.         Application Environment Specification/Distributed Computing
  221.           RPC Volume                            ISBN 0-13-043688-7
  222.   Other books on DCE:
  223.      Understanding DCE, by Rosenberry, Kenney, and Fisher
  224.           O'Reilly, ISBN 1-56592-005-8
  225.      Guide to writing DCE Appplications,2nd edition
  226.           by Shirley,  Hu, and Magid
  227.           O'Reilly, ISBN 1-56592-045-7
  228.      Distributing Applications Across DCE and Windows NT,
  229.            by Rosenberry and Teague
  230.            O'Reilly, ISBN 1-56592-047-3
  231.      OSF DCE: Guide to Developing Distributed Applications,
  232.           by H. W. Lockhart, Jr, 
  233.           McGraw-Hill, ISBN 0-07-911481-4
  234.      DCE--The OSF Distributed Computing Environment, Client/Server Model
  235.        and Beyond; Proceedings of the International Workshop on DCE, 1993
  236.        Lecture Notes in Computer Science #731, Springer-Verlag,
  237.        ISBN 3-540-57306-2
  238.   And for you German-speaking DCE-ers:
  239.   DCE--Das OSF Distributed Computing Environment, Einfuerhrung und Grundlagen,
  240.         by Alexander Schill, Springer-Verlag, ISBN 3-540-55335-5
  241.  
  242. ==================================================================
  243. Q 5: What about books on DME?
  244.  
  245.   The Distributed Management Environment (DME) is really a separate
  246.   topic from DCE.  But since you asked...
  247.  
  248.   The DME Distributed Services Component documentation set is available
  249.   from OSF, it costs $100/set Plus $20 for shipping.  This set consists of
  250.  
  251.         Introduction to DME
  252.         System Administrator's Guide and Reference
  253.         Application Developer's Guide and Reference
  254.  
  255.   For further information or to order DME docs, contact OSF.
  256.   (See Q4 above for address.)
  257.  
  258. ==================================================================
  259. Q 6: What platforms support DCE?
  260.  
  261.   DCE is supported on most Unix platforms and many non-Unix platforms.
  262.   Most vendors support at least the "secure core" which means all of the
  263.   DCE services except the Distributed File Service and X.500 interface
  264.   to the Global Directory Service.
  265.  
  266.   Some products are client-only, which means that the actual servers
  267.   for the DCE services are not provided: Directory Service, Security
  268.   Service, Time Service. Client machines can use these services,
  269.   they simply cannot run the server programs;  another machine
  270.   in the cell must run the server programs.  Application programs
  271.   can be built and run the application servers on these "client-only"
  272.   systems.
  273.  
  274.   This table summarizes the DCE implementations currently available:
  275.    (This information changes frequently; check with the OSF or
  276.    specific vendors for the latest details. Updates to this list
  277.    are solicited)
  278.   
  279.    -------------------------------------------------------------
  280.    Platform                     Comments
  281.    -------------------------------------------------------------
  282. Unix platforms:
  283.    DEC-OSF/1 on Alpha AXP:      Secure core and DFS
  284.    Ultrix                       "Starter kit"
  285.    HP-UX:                       Secure Core and DFS 
  286.    DG/UX                        Secure Core and X.500
  287.    AIX:                         Secure core and DFS
  288.    SunOS,                       Secure Core, X.500
  289.    Solaris:                     Secure core and DFS
  290.                                 Implementation by Transarc, also re-sold by Sun
  291.    Irix                         Secure Core
  292.    SCO                          Secure Core was expected by August 1994
  293.    AT&T GIS, SVR4 on Intel      Secure Core
  294.    Sinix (Mips and Intel)       Secure Core, DFS, and X.500
  295.    Stratus XA/R                 Secure Core developers kit
  296.    Cray Unicos                  Secure Core Client, and DFS server
  297.    System V on Intel            Secure Core, available from Gradient Technology
  298.    Pyramid DC/OSx (SVR4)        Secure Core
  299.    Hitachi HI-OSF/1-MJ (osf/1)  Secure Core, with Japanese on-line doc
  300.    Hitachi HI-UX/WE2            Secure Core
  301.    Sony NEWS (SVR4)             Secure Core
  302.    Fujitsu DS/90 (SVR4)         Secure Core
  303.    Unixware            Secure Core, from Gradient
  304.    Sequent
  305. Non-Unix platforms:
  306.    OpenVms (Vax, and Alpha AXP) Secure core 
  307.    Microsoft Windows:           Client-only, available from Gradient Technology
  308.                                 Client-only, available from Siemens-Nixdorf
  309.                                 Unimetrics has announced DFS client products
  310.                                 for Windows
  311.    Macintosh                    Apple has promised support, but
  312.                                 details have not been announced
  313.    Windows NT:                  out-of-the-box, NT contains a
  314.                                 subset of DCE RPC.
  315.                                         See Q16 below for further discussion.
  316.                                 Digital Equipment Corporation has
  317.                                   a DCE client available today, and has
  318.                                   announced intent to support full DCE
  319.                 Gradient has a secure core in Early Release
  320.    OS/2:                        Secure core
  321.    HP 3000 with MPE/iX          Limited availability, general availability
  322.                                 projected for mid '95
  323.    VM                           Kapsch AG has a client-only secure core
  324.                                 product for IBM's VM
  325.    VM/ESA                       IBM has announced intent to support 
  326.                                 "selected components" of DCE on VM/ESA
  327.    MVS                          client only
  328.    IBM AS/400                   client only 
  329.    BS2000                       Client Only
  330.    Bull DPX/20                  Secure Core, X.500, DFS
  331.    GCOS on Bull DPS 9xxx/7xxx   threadless client only
  332.    
  333. ==================================================================
  334. Q 7: What products use DCE?
  335.  
  336.    The OSF has a living document called DCE Product Listing.  It contains
  337.    information pertaining to products and services related to DCE 
  338.    technology.  To receive a copy or to add a product or service to the 
  339.    listing contact:
  340.       DCE Product Listing
  341.       c/o Open Software Foundation
  342.       11 Cambridge Center
  343.       Cambridge, MA  02142
  344.       Fax - +1.617.225.2782
  345.       ellen@osf.org
  346.  
  347. ==================================================================
  348. Q 8: Several of the other questions concern "interfaces".
  349.       What is meant by an interface in DCE RPC?
  350.  
  351.    An interface is a set of remote procedure call operations and
  352.    associated data.  Every interface contains one or more
  353.    operations.  An operation is an actual remote procedure.  Each
  354.    operation may have input and output parameters associated with
  355.    it, just like any procedure call.
  356.  
  357. ==================================================================
  358. Q 9: Can a DCE client import multiple interfaces?
  359.  
  360.    Yes. A client can use as many different services as it needs.
  361.  
  362. ==================================================================
  363. Q 10: Can a DCE client connect to multiple servers?
  364.         
  365.    Yes. A client can connect to multiple servers providing different
  366.    services, and/or multiple servers providing the same service.
  367.    
  368.    To use multiple servers with the same interface, the client must
  369.    obtain a binding handle for each server and use explicit handles
  370.    in the RPC.
  371.    
  372. ==================================================================
  373. Q 11: Can a DCE server export multiple interfaces?
  374.         
  375.    Yes. A server can provide service on multiple interfaces
  376.    simultaneously.  A common example is a server which exports an
  377.    application interface and a management interface.
  378.    
  379. ==================================================================
  380. Q 12: Can a process be both a server and a client?
  381.  
  382.    Yes.  There are two scenarios.
  383.         1) A program might act as a server for interface A,
  384.           and also as a client for interface B.  This is easy.
  385.           The program merely imports interface B like a normal
  386.           client and exports interface A like a normal server.
  387.         2) A program might want to provide a service, and also
  388.           act as a client to other servers that provide the same
  389.           service.  In this case, the programmer must expend more
  390.           effort.  The problem is that the names of the server-side
  391.           functions (manager routines) clash with the names of the
  392.           client stubs.  The solution is to manually build an
  393.           endpoint vector for the server, and use different names
  394.           for the manager routines. For  details on using endpoint
  395.           vectors, see the Lockhart book (Q4 above).
  396.     Note that most server programs also act as clients, since they
  397.     usually access the endpoint mapper (rpcd), and the security
  398.     service;  these actions use RPCs, though it may not
  399.     be obvious in the code.
  400.  
  401. ==================================================================
  402. Q 13: How do I perform asynchronous RPC?
  403.  
  404.    DCE-RPC is synchronous. The way to make an asynchronous call is
  405.    to create a thread for each RPC call.  You should be able to have
  406.    dozens, if not hundreds, of threads with no problem.
  407.    
  408. ==================================================================
  409. Q 14: How can a server keep track of multiple clients?
  410.       For example, to know what information has already been
  411.       provided to a client, and thus vary subsequent responses.
  412.  
  413.    The DCE RPC mechanism includes a "context handle" which can be
  414.    created by a server and returned to a client.  The handle is used
  415.    on subsequent RPCs to identify the client.
  416.    
  417. ==================================================================
  418. Q 15: How can a server detect that a client has exited or crashed?
  419.  
  420.    The context handle provides this ability.  When a context handle
  421.    is created and passed to the client, the DCE runtime library
  422.    keeps track of the connection between client and server;
  423.    this may be done in the network code as in the case of TCP,
  424.    or by DCE-specific ping messages if a connectionless protocol is used.
  425.    When the client dies, the server is notified and executes a "rundown"
  426.    function to clean up its data structures.
  427.    
  428. ==================================================================
  429. Q 16: Will Windows NT communicate with DCE?
  430.  
  431.    Windows NT comes with an RPC which interoperates with DCE RPC.
  432.    However, it does not use the DCE API (exactly), nor does it support
  433.    many DCE features, such as directory service, security and threads.
  434.    See the book "Distributing Applications Across DCE and Windows NT" 
  435.    for more details (see Q4 above).
  436.    
  437.    The good news is that DEC has committed to delivering a complete
  438.    DCE port running on Windows NT.  It has a DCE client product available
  439.    now, for both Intel and Alpha architectures.
  440.  
  441.    Information on Digital's DCE on NT product is available at
  442.           http://www.digital.com/info/Customer-Update/940412019.txt.html
  443.  
  444.  
  445. ==================================================================
  446. Q 17: How efficient is DCE RPC?
  447.  
  448.   Performance testing at several user organizations has shown that
  449.   DCE RPC performance is similiar to other RPC implementations when
  450.   doing the same things.  The throughput and response times for a
  451.   series of remote procedure calls is similiar.
  452.   
  453.   The use of features in DCE not present in other implementations
  454.   may consume additional time and resources.  For example,
  455.   name-based binding may required additional time, depending on the
  456.   number of directories traversed.  Using the packet integrity and
  457.   packet privacy features of the security service can increase
  458.   processing times as a linear function of message sizes.
  459.  
  460.   There are three papers providing preliminary performance data
  461.   published in:
  462.      DCE--The OSF Distributed Computing Environment, 
  463.      Lecture Notes in Computer Science #731, Springer-Verlag,
  464.      (see Q4 above for ISBN)
  465.   
  466.  
  467. ==================================================================
  468. Q 18: What is the practical limit on the size of a DCE cell?
  469.  
  470.   Good question.  It is still a bit early to have good practical
  471.   experience with large-scale DCE installations.  But there are
  472.   some large-ish cells in operation.
  473.   
  474.   Certainly it is reasonable to plan on cells with thousands of
  475.   nodes and perhaps tens of thousands of users.
  476.  
  477.   The University of Michigan Center for Information Technology
  478.   Integration has done a study in which they added 50,000 entries
  479.   to the Cell Directory and to the security registry.  Their results
  480.   are reported in technical reports 93-12 and 94-1.  See Q 3 for
  481.   the ftp site for CITI tech reports.
  482.   
  483. ==================================================================
  484. Q 19: How much memory and disk space is required for DCE services?
  485.  
  486.   This depends on the size of the cell, the number of users,
  487.   number of services, etc.
  488.  
  489.   According to a paper present by Dan Hamel of Transarc, at the
  490.   Decorum conference in February 1994, the following can be used
  491.   as rough guidelines:
  492.     Security server: 2k per principal/account
  493.                      same at replicated sites
  494.     Directory server: 10k per directory, 1k per object
  495.                       same at replicated sites
  496.     end-user machines: Each dce_login creates new credential files,
  497.                       which can build up.  Space usage can range
  498.                       from less than 1k to over 100k. 
  499.  
  500. ==================================================================
  501. Q 20: Where can I find an ACL manager to include in my application?
  502.  
  503.     Atrium Technologies has a product called
  504.     DACM (Distributed Access Control Manager).
  505.    
  506.     HP's OODCE (DCE C++ class library) provides you with a default, 
  507.     built-in ACL Manager with the server class.
  508.  
  509.     Transarc's Encina (transaction monitor) product includes
  510.     an ACL manager.
  511.  
  512.     Lockhart's book contains a sample ACL manager. (see Q4 above)
  513.  
  514.     DCE version 1.1 will include a full ACL manager library.
  515.  
  516. ==================================================================
  517. Q 21: Is DCE an official standard?
  518.  
  519.    OSF calls the specification an Application Environment Specification,
  520.    or AES. The  AES documents both the software programming interfaces and 
  521.    also the communications protocols employed by DCE.  Thus it would be
  522.    possible, in theory, for someone to build a compatible
  523.    implementation without using the code from OSF.
  524.    The AES for RPC, Time, and  Directory services have been accepted as 
  525.    standards by by X/Open.  The AES for Security is currently undergoing
  526.    review.
  527.       
  528.    DCE Threads follow the Posix Threads draft standard 1003.4a draft
  529.    4.  DCE Access Control Lists (ACLs) are based on POSIX.6 Draft
  530.    12.  The Distributed Time Service (DTS) uses time formats defined
  531.    by international standards and in POSIX.4.  The Global Directory
  532.    Service (GDS) complies with the X.500 international standard.
  533.    (Although DCE complies with the 1988 version of X.500, not
  534.    the 1992 version.)
  535.  
  536.    ISO is considering an RPC standard based on the X/Open document.
  537.    
  538.    DCE's status as a de facto standard is even stronger.  Almost
  539.    every major hardware and software vendor has committed to
  540.    providing DCE on its platform.  These vendors include not only
  541.    OSF stalwarts such as IBM, DEC and HP, but also other key vendors
  542.    such as Novell, Inc.  See Q 6 for a list of DCE vendors.  In addition,
  543.    a number of major user organizations (e.g., the European Economic
  544.    Community) have already embraced DCE as their standard for
  545.    distributed applications.
  546.  
  547. ==================================================================
  548. Q 22: The DCE threads uses draft 4 of the standard, but
  549.   Posix threads standard has moved beyond draft 4.
  550.   Will DCE change to the most recent standard?
  551.  
  552.    It is hard to predict exactly what will happen. 
  553.    But OSF prefers to follow standards rather then invent them. 
  554.    Once the threads document is approved as a standard, it would be
  555.    obvious for the DCE to migrate to it.
  556.  
  557. ==================================================================
  558. Q 23: Is anyone using DCE for real-life mission-critical systems?
  559.  
  560.    Yes, and more every day.  Tokio Marine and Fire Insurance,
  561.    Co., Lehman Brothers, and Charles Schwab have all publically
  562.    described their ongoing rollout of DCE based applications.
  563.    
  564. ==================================================================
  565. Q 24: Is it possible for a machine to be a member of more than one DCE cell?
  566.  
  567.    No.  A machine can only be in a single cell. However, it is
  568.    possible for cells to cooperate.  See the next question.
  569.    
  570. ==================================================================
  571. Q 25: Is it possible for a user in one cell to use secure services
  572.   in another cell? 
  573.  
  574.   Yes.  The Access Control List (ACL) contains three entry types:
  575.   foreign_user, foreign_group and foreign_other which specify the
  576.   permissions available to users on other cells.  All that is
  577.   required for intercell access, other than physical connectivity,
  578.   is for the two cell's security services to be configured to know
  579.   about each other.
  580.   There is a command, the rgy_edit "cell" command, that must be run, once,
  581.   by the cell admin of the two cells that wish to communicate.  After
  582.   that, it's all transparent.
  583.   
  584. ==================================================================
  585. Q 26: What is the relationship between DCE and CORBA?
  586.  
  587.   The short answer:  
  588.        DCE provides a lower-level programming model than does CORBA.
  589.        DCE is not fully "Object-Oriented".  DCE has far better
  590.        inter-operability than CORBA.  DCE is used as the base
  591.        communications mechanism in some CORBA-compliant products.
  592.        DCE is an optional interoperability mechanism in the
  593.        CORBA 2.0 specification.
  594.  
  595.   The Long Answer:
  596.  
  597.     In order to understand the relationship between DCE and the Common
  598.     Object Request Broker Architecture (CORBA) of the Object Management
  599.     Group (OMG), it is necessary to consider the past, the present and the
  600.     future.
  601.     
  602.     Past - Historically, the object paradigm has been viewed as a break
  603.     with procedural styles of the past.  Objects, which encapsulate data
  604.     and procedures behind an external interface, are often contrasted with
  605.     other approaches where procedures and data are treated separately.
  606.     
  607.     In this context, DCE is a descendant of the procedural school which
  608.     emphasizes the decomposition of programs into procedures and achieves
  609.     distribution by locating some of those procedures remotely.  Thus
  610.     there was a tendency for the object community, including the OMG, to
  611.     view DCE as technology which was obsolete before it was available.
  612.     
  613.     However this view ignored the fact that designers of distributed
  614.     systems had for a long time recognized that the most successful
  615.     approach to developing distributed systems was to create encapsulated
  616.     objects that can only be accessed via well defined interfaces.  Thus
  617.     the cornerstone of DCE RPC is the interface definition language (IDL)
  618.     which allows the external attributes of a set of server operations to
  619.     be specified.
  620.     
  621.     Furthermore, the name-based binding mechanisms of DCE were extended to
  622.     include the ability to bind to a server based on the object instances
  623.     which it supports.  These object binding mechanisms also allow the
  624.     transparent selection among multiple implementations of the same
  625.     server operations based on the type of the specified object.  In
  626.     object terminology this is called polymorphism.
  627.     
  628.     The DCE notion of a server supporting interfaces consisting of one or
  629.     more operations is so close to the notion of an object which provides
  630.     one or more methods, that it should be no surprise that CORBA 1.1
  631.     defies an IDL which differs from DCE IDL in only a few significant
  632.     respects.
  633.     
  634.     Principal among these is that in CORBA IDL every call must specify an
  635.     object, which is used in determining the server to use.  DCE can do
  636.     this as well, but there is more work involved and it is optional.
  637.     Another difference is that CORBA IDL allows an interface to be defined
  638.     as a extension of one or more other interfaces, this is called
  639.     interface inheritance.
  640.     
  641.     The use of object oriented techniques and principles should not be
  642.     confused with using an object oriented language.  Object oriented
  643.     designs can be expressed in procedural languages, and in fact most of
  644.     the current object environments supported C before supporting C++ or
  645.     Smalltalk.  Therefore, the fact that the DCE API is implemented in C
  646.     is no barrier to using it to create a distributed object system.  In
  647.     fact, CORBA 1.1 does specify C language bindings.
  648.     
  649.     Present - CORBA 1.1 defines only the interface between application
  650.     components and the object request broker implementation provided by a
  651.     vendor.  Clearly it is intended that objects which interact with the
  652.     environment provided by a given vendor will be able to interoperate
  653.     across the systems and networks supported by that vendor.  However,
  654.     CORBA 1.1 does not specify how they will do this.  Therefore, there is
  655.     no basis for interoperation between objects in environments provided
  656.     by different vendors, nor between heterogeneous brokers.
  657.     
  658.     DCE in contrast, has completely specified the means of interoperation,
  659.     has in most cases been implemented from the same code base across
  660.     multiple vendors and has had several public demonstrations of
  661.     interoperation between many vendor's products.
  662.     
  663.     Further, DCE addresses not only the basic problem of handling requests
  664.     and responses, but other important distributed systems problems, such
  665.     as specifying and controlling concurrent execution, providing
  666.     authentication and access control for security and providing
  667.     consistent network time services.  None of these are a part of CORBA
  668.     1.1.
  669.     
  670.     Even where DCE is missing features essential to significant numbers of
  671.     distributed applications, the means of providing them is well
  672.     understood, and in some cases available today in products which build
  673.     upon DCE.  For example, consider distributed transactions.  The means
  674.     of providing them via RPC has been known for years and transaction
  675.     monitors such as Encina, CICS/6000, ACMSxp and Tuxedo operate or will
  676.     soon operate over DCE.  In contrast, there is as yet no consensus as
  677.     to how to provide distributed transactions in an object environment.
  678.     
  679.     In summary, at the present time, CORBA-compliant products provide for
  680.     the development of distributed applications only in homogeneous
  681.     environments and lack many of the capabilities essential to
  682.     industrial-strength applications.  In contrast, DCE provides proven
  683.     heterogeneous interoperability and most of the capabilities required
  684.     by robust, production applications.  Additional capabilities can be
  685.     obtained by means of third products built upon DCE.
  686.     
  687.   Future - Most authorities agree that in the long term object
  688.     technology will be the basis for building large scale distributed
  689.     systems.  In addition to the principle of encapsulation, object-based
  690.     systems allow systems to be built up, evolve and be reconfigured as
  691.     needed because of their ability to dynamically bind requesters to
  692.     objects that provide services.
  693.     
  694.     There are many specific issues concerning the properties of
  695.     distributed object systems that are the subject of research and
  696.     debate.  It is also clear that there are some features of existing
  697.     local object environments and languages that will not scale
  698.     effectively to large scale distributed systems -- dynamic inheritance
  699.     is one. Never the less, the general direction of the future is clear.
  700.     
  701.     This is recognized by OSF as well.  Not only has OSF based the DME
  702.     management model on object principles and committed to use the CORBA
  703.     as the underlying implementation tool, but also they have sought to
  704.     add more object oriented features to DCE and research the use of DCE
  705.     technologies as a basis for CORBA interoperability.  After some years
  706.     of remaining at arms length, OSF and OMG are now both members of each
  707.     other.  Individuals and companies associated with both are taking
  708.     active roles in working groups of the other.
  709.     
  710.     The OMG is now in the process of adding some of the missing pieces of
  711.     CORBA 1.1 by defining CORBA 2.0.  The first subject to be tackled is
  712.     interoperability.  A number of submissions are expected and although
  713.     there are still plenty of differences of opinion, it seems clear that
  714.     DCE will be at least one of the standard ways of providing
  715.     interoperability, perhaps even the most common.
  716.     
  717.     OMG has taken a leaf out of OSF's book in at least one respect.  Where
  718.     CORBA 1.0 and 1.1 were "paper" specifications, submissions to CORBA
  719.     2.0 are required to refer to working code.  Some of the submissions
  720.     will be publicly demonstrated as soon as this summer (1994) and OMG is
  721.     expected to come to closure on the specification by the end of the
  722.     year.
  723.     
  724.     OMG has issued requests for technology in several other areas as well.
  725.     Some, such as security and time services are addressed by DCE.
  726.     Others, such as lifecycle (creation and deletion) and persistence
  727.     (database) are not.  Ultimately, it is to be hoped there will be a
  728.     number of CORBA-compliant products to choose from which interoperate,
  729.     provide application portability, offer all the features of DCE and
  730.     more, as well as the benefits of object-based systems.
  731.     
  732.     Does this mean that it is a mistake to build distributed systems today
  733.     using DCE?  The answer is no for several reasons.  First, many
  734.     organizations cannot afford to do nothing for several years.  End
  735.     users have pressing needs for robust, scalable systems today.  For
  736.     software vendors, waiting would mean attempting to catch up with
  737.     competitors who will have a tremendous head start.
  738.     
  739.     Second, as this brief discussion has shown, it is possible to employ
  740.     object techniques when developing distributed applications using DCE.
  741.     Carefully designed systems will be able to take advantage DCE features
  742.     such as dynamic binding and polymorphism and converge with
  743.     CORBA-compliant systems as they mature.
  744.     
  745.     Third, if object environments are to be successful in supporting
  746.     industrial- strength distributed systems, they will have to address
  747.     the problems that DCE addresses.  The skills and techniques developed
  748.     in working with DCE will be directly applicable to distributed systems
  749.     environments of the future.  This applies not only software
  750.     developers, but also to operations personnel, planners, even business
  751.     managers.
  752.     
  753.     Further, the likelihood that DCE will be a common base technology for
  754.     CORBA interoperability, implies that the eventually migration of
  755.     applications which use DCE directly to an object environment should
  756.     not present any insurmountable difficulties.
  757.     
  758.     Finally, your direct experience in developing and operating robust
  759.     distributed systems will provide you with great insight into the
  760.     important characteristics of distributed systems environments as they
  761.     apply to your organization's applications.  This knowledge is vital to
  762.     the shaping of successful tools of the future.  History has shown that
  763.     vendors and standards bodies, left to their own devices, will often
  764.     miss the mark.
  765.  
  766. ==================================================================
  767. Q 27: Is DCE IDL the same as all the other IDL's in the world?
  768.  
  769.     No.
  770.  
  771.     IDL stands for "Interface Definition Language," and the idea
  772.     of using a special language to define the interface between
  773.     entities is not unique to DCE.  In particular, CORBA's IDL
  774.     is used for the same purpose as DCE's, but the two languages
  775.     are not identical; see Q26 for more information.  There are
  776.     other Interface Definition Languages as well.
  777.     IDL also stands for "Interactive Data Language", which
  778.     is a completely unrelated product.
  779.  
  780.     When asking or answering a question about IDL, one should be
  781.     careful about specifying which IDL is involved.
  782.  
  783. ==================================================================
  784. Q 28: Can I move idl-compiled stubs from one platform to another and rebuild
  785.       the object files locally?
  786.  
  787.     No.  You must run the IDL compiler separately on each platform.
  788.  
  789.     The IDL compiler builds the client and server stubs to handle
  790.     network communication and data marshalling, which are platform-
  791.     specific activities.  Therefore the stub code is not portable
  792.     and must be re-created on each platform.  Likewise, while the
  793.     task of the stub does not change, the set of service routines
  794.     called from the stub may be changed by the vendor for any given
  795.     platform.  Therefore stubs for the same RPC may look very different
  796.     on different platforms.
  797.  
  798. ==================================================================
  799. Q 29: Does DCE Security interoperate with other Kerberos systems?
  800.  
  801.   Basically, no, or maybe yes, depending on what you want to do.
  802.  
  803.   To use authenticated DCE services, you must have credentials from
  804.   the DCE security service; vanilla Kerberos v5 tickets aren't sufficient.
  805.   But then, to use DCE services you must be using DCE RPC, so this
  806.   is not really a problem.
  807.  
  808.   Going the other way, it is expected that a DCE security server
  809.   can issue tickets that can be used by vanilla Kerberos applications.
  810.   The OSF was wary of promising this until the Kerberos v5 specs were
  811.   published, but now that the Kerberos RFC has been published, OSF
  812.   anticipates guaranteeing interoperability sometime "soon".
  813.  
  814.   In a little more detail, the way to think about this is as follows:
  815.  
  816.         Kerberos offers 2 services (Authentication Service, Ticket
  817.         Granting Service) over 1 communication mechanism (UDP port 88).
  818.  
  819.         DCE security offers 3 services (AS, TGS, Privilege Service) over
  820.         2 communication mechanisms (UDP port 88, RPC).
  821.  
  822.         Where Kerberos and DCE security intersect (AS, TGS over UDP port
  823.         88), the services are identical.
  824.  
  825. ==================================================================
  826.  
  827. Q 30: Can I use DCE from C++?
  828.  
  829.    Yes.  First of all, since you can call C functions from C++
  830.    you can access all the DCE services from a C++ program.  But
  831.    that will not give you the benefits of C++.
  832.  
  833.    There are several packages that provide a C++ interface to DCE.
  834.    They different quite a bit in style and approach, so you'll
  835.    need to consider them carefully in light of your own needs and
  836.    preferences.
  837.  
  838.    Objtran was produced by Citibank, and is available by anonymous
  839.    ftp at ftp://wilma.cs.brown.edu/pub/Objtran.tar.Z
  840.  
  841.    HaL Computer Systems has a system called DCE++.  It is available
  842.    for free, but requires a license agreement.  For more information
  843.    retrieve the file ftp://ftp.hal.com/dce++/license, or
  844.    send email to arjun@hal.com
  845.  
  846.    Hewlett-Packard has a product called OODCE.  It is for sale,
  847.    and currently supported only on HP-UX.  For technical information
  848.    retrieve the OSF RFC #49 (see Q33);  for sales information
  849.    contact your HP sales office.
  850.  
  851. ==================================================================
  852.  
  853. Q 31: Can I write an application that uses DCE and X11/Motif?
  854.  
  855.   Yes but there are several serious pitfalls.
  856.  
  857.   The X11/Xt/Motif libraries may not be thread-safe.  For example,
  858.   suppose one thread calls a function in Xt, which calls a nonthreadsafe
  859.   malloc(), which then gets preempted.  The next thread may call
  860.   a threadsafe malloc() that comes with DCE. When control returns to 
  861.   the first malloc(), any assumptions about the state of the heap are
  862.   invalid.
  863.  
  864.   Also, Motif/Xt/Xlib are not currently reentrant wrt/themselves.  You can't 
  865.   have multiple threads concurrently manipulating any Motif/Xt/Xlib 
  866.   global state. Fortunately this issue is under you control when 
  867.   designing the application.  X11R6 includes a thread-safe version of
  868.   Xlib, but it will be a while yet before the vendors are all delivering
  869.   thread-safe Motif.
  870.   
  871.   A related issue is that XtAppMainLoop() waits in a select() for activity,
  872.   coupled with the fact that DCE also waits in a select() for activity.
  873.   Unless the two are select()s are cooperating, one or the other will be
  874.   starved. This is a platform-specific issue, you should check with your
  875.   DCE vendor for full details.  
  876.   If it is a problem in your environment, the standard solution is to
  877.   encapsulate the GUI in one process, the DCE client code in another process,
  878.   and connect them with a simple IPC such as a Unix pipe.
  879.  
  880. ==================================================================
  881. Q 32: Where can I get more information about DCE and DCE-related products?
  882.  
  883.   With WWW, access the URL: "http://www.osf.org:8001/dce/index.html"
  884.  
  885.   The general response to any query of the form "Where can I get a _____ for
  886.   DCE?" is "Contact direct@osf.org" (phone +1 617 621-7300).
  887.  
  888.     This mail list will reach the people at OSF that maintain contacts with 
  889.     just about everbody that has a DCE product to sell.  You can get a listing
  890.     of the vendors and their products.  These include DCE RPC debugging 
  891.     environments, C++ toolkits, Visual-BASIC  development environments, etc. 
  892.  
  893.     This mail list also reaches the people at OSF that maintain the lists of 
  894.     documentation available, both from OSF, and from outside OSF, about DCE
  895.     (and about Motif, DME, and OSF/1).
  896.  
  897.   Transarc maintains a mail alias,ROT:    PLURIBUS.wupper.de!mechti!wupper.de!gomel.knirsch.de!Dortmund.Germany.EU.net!Germany.EU.net!howland.reston.ans.net!news.sprintlink.net!redstone.interpath.net!tophat
  898. ABS:    mauney@mauney.com (Jon Mauney)
  899. BET:    OSF Distributed Computing Environment Frequently-asked questions
  900. ERSETZT:    dce-faq-1-789969128@mauney.com
  901. DISKUSSION-IN:    /COMP/SOFT-SYS/DCE
  902. EDA:    19950218032353W+0
  903. U-Date:    18 Feb 1995 03:23:53 GMT
  904. ORG:    Mauney Computer Consulting
  905. U-Lines:    1037
  906. U-Approved:    news-answers-request@MIT.EDU
  907. U-Distribution:    world
  908. U-Expires:    24 Mar 95 23:22:39 EDT
  909. MID:    dce-faq-1-793077759@mauney.com
  910. ANTWORT-AN:    jon@mauney.com (Jon Mauney)
  911. U-NNTP-Posting-Host:    jtec.mauney.com
  912. U-Summary:    Answers to frequently asked questions aboutthe Open Software Foundation's Distributed Computing Environment (DCE).It provides a brief overview of what DCE is, pointers to sources ofmore information on DCE, and answers to common technical questions.
  913. U-Keywords:    DCE Distributed Computing FAQ
  914. U-Originator:    mauney@tophat
  915. LEN:    50546
  916. EMP:    /COMP/SOFT-SYS/DCE
  917. EMP:    /COMP/ANSWERS
  918. EMP:    /NEWS/ANSWERS
  919. GATE:    RFC1036/822 PL PLURIBUS.wupper.de [Connectline/AmigaOS]
  920.  
  921. Posted-By: auto-faq 3.1.1.2
  922. Archive-name: dce/faq
  923. Revision: 1.6 1995/02/18 03:00:59
  924. Posting-frequency: monthly
  925.  
  926.  
  927.  
  928.   This document answers some Frequently Asked Questions concerning
  929.   the OSF Distributed Computing Environment.
  930.   It is posted monthly to comp.soft-sys.dce, as well as
  931.   comp.answers, and news.answers.
  932.  
  933.   The document is maintained by Jon Mauney, jon@mauney.com
  934.   Suggestions, corrections, and updates are actively sought.
  935.  
  936.   This FAQ is available by anonymous ftp from
  937.         ftp.dstc.edu.au in /pub/DCE/FAQ
  938.   and is available for browsing at the OSF's WWW server.
  939.         http://www.osf.org:8001/dce/faq-mauney.html
  940.  
  941.   Last modified on Feb 14, 1995
  942.  
  943. Questions answered in this document:
  944.  
  945. Q 1: What is DCE?
  946. Q 2: What are the advantages of DCE?
  947. Q 3: Where can I get online information about DCE?
  948. Q 4: What books are published on DCE?
  949. Q 5: What about books on DME?
  950. Q 6: What platforms support DCE?
  951. Q 7: What products use DCE?
  952. Q 8: Several of the other questions concern "interfaces".
  953.       What is meant by an interface in DCE RPC?
  954. Q 9: Can a DCE client import multiple interfaces?
  955. Q 10: Can a DCE client connect to multiple servers?
  956. Q 11: Can a DCE server export multiple interfaces?
  957. Q 12: Can a process be both a server and a client?
  958. Q 13: How do I perform asynchronous RPC?
  959. Q 14: How can a server keep track of multiple clients?
  960. Q 15: How can a server detect that a client as exited or crashed?
  961. Q 16: Will Windows NT communicate with DCE?
  962. Q 17: How efficient is DCE RPC?
  963. Q 18: What is the practical limit on the size of a DCE cell?
  964. Q 19: How much memory and disk space is required for DCE services?
  965. Q 20: Where can I find an ACL manager to include in my application?
  966. Q 21: Is DCE an official standard?
  967. Q 22: The DCE threads uses draft 4 of the standard, but
  968.   Posix threads standard has moved beyond draft 4.
  969.   Will DCE change to the most recent standard?
  970. Q 23: Is anyone using DCE for real-life mission-critical systems?
  971. Q 24: Is it possible for a machine to be a member of more than one DCE cell?
  972. Q 25: Is it possible for a user in one cell to use secure services
  973.   in another cell? 
  974. Q 26: What is the relationship between DCE and CORBA?
  975. Q 27: Is DCE IDL the same as all the other IDL's in the world?
  976. Q 28: Can I move idl-compiled stubs from one platform to another and rebuild 
  977.       the object files locally?
  978. Q 29: Does DCE Security interoperate with other Kerberos systems?
  979. Q 30: Can I use DCE from C++?
  980. Q 31: Can I write an application that uses DCE and X11/Motif?
  981. Q 32: Where can I get more information about DCE and DCE-related products?
  982. Q 33: What are DCE RFCs, and how can I get them?
  983. Q 34: Where can I get the Public Domain version of DCE?
  984. Q 35: Is there a DCE Users Group I can join?
  985.  
  986. ==================================================================
  987.  
  988. Q 1: What is DCE?
  989.  
  990.    DCE is the Distributed Computing Environment, from the
  991.    Open Software Foundation. (It is called "the DCE" by sticklers
  992.    for grammatical consistency.)
  993.  
  994.    DCE consists of multiple components which have been integrated
  995.    to work closely together.  They are the Remote Procedure Call
  996.    (RPC), the Cell and Global Directory Services (CDS and GDS), the
  997.    Security Service, DCE Threads, Distributed Time Service
  998.    (DTS),and Distributed File Service (DFS).  The Threads, RPC, CDS,
  999.    Security, and DTS components are commonly referred to as the 
  1000.    "secure core" and are the required components of any DCE installation.
  1001.    DFS is an optional component.  DCE also includes administration tools
  1002.    to manage these components.
  1003.  
  1004.    DCE is called "middleware" or "enabling technology."  It is not
  1005.    intended to exist alone, but instead should be bundled into a
  1006.    vendor's operating system offering, or integrated in by a third-party
  1007.    vendor.  DCE's security and distributed filesystem, for example, 
  1008.    can completely replace their current, non-network, analogs.
  1009.    DCE is not an application in itself, but is used to build custom
  1010.    applications or to support purchased applications.
  1011.  
  1012. ==================================================================
  1013. Q 2: What are the advantages of DCE?
  1014.  
  1015.    First, DCE provides services that can be found in other computer
  1016.    networking environments, but packages them so as to make them
  1017.    much easier to use.  For example, the DCE Remote Procedure Call
  1018.    (RPC) facility provides a way of communicating between software
  1019.    modules running on different systems that is much simpler to code
  1020.    than older methods, such as using socket calls.
  1021.    
  1022.    Second, DCE provides new capabilities that go beyond what was
  1023.    available previously. The DCE Security Service provides a
  1024.    reliable way of determining if a user of a distributed system
  1025.    should be allowed to perform a certain action, for example.  This
  1026.    is very useful for most distributed appli